package com.jlcloud.core.mp.enums;

import io.swagger.v3.oas.annotations.media.Schema;
import lombok.AllArgsConstructor;
import lombok.Getter;

/**
 * StatusType枚举类
 *
 * @author By: JlCloud <br>
 * @Package: com.jlcloud <br>
 * @CreateTime: 2024-12-03 21:45 <br>
 * @Copyright: 2021 www.jilianjituan.com Inc. All rights reserved. <br>
 * @Caution 注意：本内容仅限于冀联人力集团内部传阅，禁止外泄以及用于其他的商业目的 <br>
 */
@Getter
@AllArgsConstructor
@Schema(description = "StatusType枚举类")
public enum StatusType {

	/**
	 * 禁用
	 */
	@Schema(description = "禁用")
	DISABLED("disabled", -1),

	/**
	 * 未激活
	 */
	@Schema(description = "未激活")
	IN_ACTIVE("inactive", 0),

	/**
	 * 已激活
	 */
	@Schema(description = "已激活")
	ACTIVE("active", 1),
	;

	/**
	 * 名称
	 */
	final String name;
	/**
	 * 类型
	 */
	final int type;

	/**
	 * 匹配枚举值
	 *
	 * @param type 类型
	 * @return StatusType
	 */
	public static StatusType of(Integer type) {
		if (type == null) {
			return null;
		}
		StatusType[] values = StatusType.values();
		for (StatusType statusType : values) {
			if (statusType.type == type) {
				return statusType;
			}
		}
		return null;
	}

}
